XtGem Forum catalog
Coollogo com-273572793
HomeBlogAbout JavaAbout SymbianAbout AndroidAbout Pc and Windows

ALL ABOUT ()FORUM


Android


200px-Android Logo 28201429.svg
100px-Android robot.svg

Android (operating
system)
Android
Be together. Not the same.
Android 5.0 home screen
Developer Google
Open
Handset
Alliance
Written in C (core) , C
+ , Java (UI
[1]
OS family Unix-like
Working state Current
Source model Open sourc
[2] and in
most devic
with
proprietar
component
[3]
Initial release September
23, 2008 [4
Latest release 5.0 Lollipop
November
2014; 23
days ago
Latest preview 5.0 Lollipo
developer
preview /
October 17,
2014; 40
days ago [5]
[6]
Marketing target Smartphone
tablet
computers
TVs, cars
and wearab
devices
Available in Multi-lingu
(46
languages
Package manager Google Pla
APK
Platforms 32-bit and
64-bit AR
MIPS ,[7] x8
[8] x86-6
Kernel type Monolithi
(modified
Linux kerne
Userland Bionic libc
[9] mksh
shell, [10]
native cor
utilities wit
a few fro
NetBSD[11
Default user interface Graphical
(Multi-touc
License Apache
License 2.
Modified
Linux kern
under GN
GPL v2 [12
Official website www.andro
.com
Android is a mobile operating
system (OS) based on the Linux
kernel and currently developed by
Google . With a user interface based
on direct manipulation , Android is
designed primarily for touchscreen
mobile devices such as
smartphones and tablet computers,
with specialized user interfaces for
televisions (Android TV), cars
(Android Auto), and wrist watches
(Android Wear). The OS uses touch
inputs that loosely correspond to
real-world actions, like swiping,
tapping, pinching, and reverse
pinching to manipulate on-screen
objects, and a virtual keyboard .
Despite being primarily designed
for touchscreen input, it also has
been used in game consoles , digital
cameras, regular PCs (e.g. the HP
Slate 21) and other electronics.
Android is the most widely used
mobile OS and, as of 2013, the
highest selling OS overall. Android
devices sell more than Windows ,
iOS , and Mac OS X devices
combined,[13][14][15][16][17] with
sales in 2012, 2013 and 2014[18]
close to the installed base of all
PCs.[19] As of July 2013 the Google
Play store has had over 1 million
Android apps published, and over 50
billion apps downloaded. [20] A
developer survey conducted in
April–May 2013 found that 71% of
mobile developers develop for
Android.[21] At Google I/O 2014, the
company revealed that there were
over 1 billion active monthly
Android users, up from 538 million
in June 2013. [22]
Android's source code is released
by Google under open source
licenses, although most Android
devices ultimately ship with a
combination of open source and
proprietary software. [3] Initially
developed by Android, Inc., which
Google backed financially and later
bought in 2005, [23] Android was
unveiled in 2007 along with the
founding of the Open Handset
Alliance—​a consortium of hardware,
software, and telecommunication
companies devoted to advancing
open standards for mobile devices.
[24]
Android is popular with technology
companies which require a ready-
made, low-cost and customizable
operating system for high-tech
devices.[25] Android's open nature
has encouraged a large community
of developers and enthusiasts to
use the open-source code as a
foundation for community-driven
projects, which add new features for
advanced users[26] or bring Android
to devices which were officially
released running other operating
systems. The operating system's
success has made it a target for
patent litigation as part of the so-
called " smartphone wars " between
technology companies. [27][28]
History
See also: Android version history
Android, Inc. was founded in Palo
Alto, California in October 2003 by
Andy Rubin (co-founder of Danger ),
[29] Rich Miner (co-founder of
Wildfire Communications, Inc.), [30]
Nick Sears (once VP at T-Mobile ),
[31] and Chris White (headed design
and interface development at
WebTV [23] ) to develop, in Rubin's
words, "smarter mobile devices that
are more aware of its owner's
location and preferences". [23] The
early intentions of the company
were to develop an advanced
operating system for digital
cameras, when it was realized that
the market for the devices was not
large enough, and diverted their
efforts to producing a smartphone
operating system to rival those of
Symbian and Windows Mobile .[32]
Despite the past accomplishments
of the founders and early
employees, Android Inc. operated
secretly, revealing only that it was
working on software for mobile
phones. [23] That same year, Rubin
ran out of money. Steve Perlman, a
close friend of Rubin, brought him
$10,000 in cash in an envelope and
refused a stake in the company. [33]
Google acquired Android Inc. on
August 17, 2005; key employees of
Android Inc., including Rubin, Miner,
and White, stayed at the company
after the acquisition. [23] Not much
was known about Android Inc. at the
time, but many assumed that
Google was planning to enter the
mobile phone market with this
move. [23] At Google, the team led
by Rubin developed a mobile device
platform powered by the Linux
kernel. Google marketed the
platform to handset makers and
carriers on the promise of providing
a flexible, upgradable system.
Google had lined up a series of
hardware component and software
partners and signaled to carriers
that it was open to various degrees
of cooperation on their part. [34][35]
[36]
Speculation about Google's
intention to enter the mobile
communications market continued
to build through December 2006. [37]
An earlier prototype codenamed
"Sooner" had a closer resemblance
to a BlackBerry phone, with no
touchscreen, and a physical,
QWERTY keyboard, but was later
re-engineered to support a
touchscreen, to compete with other
announced devices such as the
2006 LG Prada and 2007 Apple
iPhone. [38][39] In September 2007,
InformationWeek covered an
Evalueserve study reporting that
Google had filed several patent
applications in the area of mobile
telephony.[40][41]
Eric Schmidt , Andy Rubin, and Hugo
Barra at a press conference for the
Google's Nexus 7 tablet
On November 5, 2007, the Open
Handset Alliance , a consortium of
technology companies including
Google, device manufacturers such
as HTC , Sony and Samsung ,
wireless carriers such as Sprint
Nextel and T-Mobile , and chipset
makers such as Qualcomm and
Texas Instruments , unveiled itself,
with a goal to develop open
standards for mobile devices. [24]
That day, Android was unveiled as
its first product, a mobile device
platform built on the Linux kernel
version 2.6.25. [24][42] The first
commercially available smartphone
running Android was the HTC
Dream, released on October 22,
2008. [43]
In 2010, Google launched its Nexus
series of devices – a line of
smartphones and tablets running
the Android operating system, and
built by manufacturing partners.
HTC collaborated with Google to
release the first Nexus smartphone,
[44] the Nexus One. Google has
since updated the series with newer
devices, such as the Nexus 5 phone
(made by LG ) and the Nexus 7 tablet
(made by Asus ). Google releases
the Nexus phones and tablets to act
as their flagship Android devices,
demonstrating Android's latest
software and hardware features. On
March 13, 2013 Larry Page
announced in a blog post that Andy
Rubin had moved from the Android
division to take on new projects at
Google. [45] He was replaced by
Sundar Pichai, who also continues
his role as the head of Google's
Chrome division, [46] which
develops Chrome OS .
Since 2008, Android has seen
numerous updates which have
incrementally improved the
operating system, adding new
features and fixing bugs in previous
releases. Each major release is
named in alphabetical order after a
dessert or sugary treat; for
example, version 1.5 Cupcake was
followed by 1.6 Donut. Version
4.4.4 KitKat appeared as a security-
only update; it was released on
June 19, 2014, shortly after 4.4.3
was released. [47][48] As of
November 2014, the newest version
of the Android operating system,
Android 5.0 " Lollipop", is available
for selected devices. [49]
From 2010 to 2013, Hugo Barra
served as product spokesperson for
the Android team, representing
Android at both press conferences
and Google I/O , Google’s annual
developer-focused conference.
Barra’s product involvement
included the entire Android
ecosystem of software and
hardware, including Honeycomb, Ice
Cream Sandwich, Jelly Bean and
KitKat operating system launches,
the Nexus 4 and Nexus 5
smartphones, the Nexus 7 [50] and
Nexus 10 tablets, [51] and other
related products such as Google
Now[52] and Google Voice Search ,
Google’s speech recognition
product comparable to Apple’s Siri .
[52] In 2013 Barra left the Android
team for Chinese smartphone maker
Xiaomi .[53]
Features
See also: List of features in Android
Interface
Notifications are accessed by
sliding from the top of the display;
individual notifications can be
dismissed by sliding them away,
and may contain additional
functions (such as on the "missed
call" notification seen here).
Android's default user interface is
based on direct manipulation , [54]
using touch inputs, that loosely
correspond to real-world actions,
like swiping, tapping, pinching, and
reverse pinching to manipulate on-
screen objects, and a virtual
keyboard .[54] The response to user
input is designed to be immediate
and provides a fluid touch interface,
often using the vibration
capabilities of the device to provide
haptic feedback to the user. Internal
hardware such as accelerometers,
gyroscopes and proximity sensors
[55] are used by some applications
to respond to additional user
actions, for example adjusting the
screen from portrait to landscape
depending on how the device is
oriented, or allowing the user to
steer a vehicle in a racing game by
rotating the device, simulating
control of a steering wheel.[56]
Android devices boot to the
homescreen, the primary navigation
and information point on the device,
which is similar to the desktop
found on PCs. Android homescreens
are typically made up of app icons
and widgets; app icons launch the
associated app, whereas widgets
display live, auto-updating content
such as the weather forecast, the
user's email inbox, or a news ticker
directly on the homescreen. [57] A
homescreen may be made up of
several pages that the user can
swipe back and forth between,
though Android's homescreen
interface is heavily customisable,
allowing the user to adjust the look
and feel of the device to their
tastes.[58] Third-party apps
available on Google Play and other
app stores can extensively re-
theme the homescreen, and even
mimic the look of other operating
systems, such as Windows Phone.
[59] Most manufacturers, and some
wireless carriers, customise the
look and feel of their Android
devices to differentiate themselves
from their competitors. [60]
Present along the top of the screen
is a status bar, showing information
about the device and its
connectivity. This status bar can be
"pulled" down to reveal a
notification screen where apps
display important information or
updates, such as a newly received
email or SMS text, in a way that
does not immediately interrupt or
inconvenience the user. [61]
Notifications are persistent until
read (by tapping, which opens the
relevant app) or dismissed by
sliding it off the screen. Beginning
on Android 4.1, "expanded
notifications" can display expanded
details or additional functionality;
for instance, a music player can
display playback controls, and a
"missed call" notification provides
buttons for calling back or sending
the caller an SMS message. [62]
Android provides the ability to run
applications which change the
default launcher and hence the
appearance and externally visible
behaviour of Android. These
appearance changes include a
multi-page dock or no dock, and
many more changes to fundamental
features of the user interface. [63]
Applications
See also: Android software
development and Google Play
Applications (" apps"), that extend
the functionality of devices, are
developed primarily in the Java
programming language [64] using
the Android software development
kit (SDK). The SDK includes a
comprehensive set of development
tools, [65] including a debugger ,
software libraries, a handset
emulator based on QEMU,
documentation, sample code, and
tutorials. The officially supported
integrated development
environment (IDE) is Eclipse using
the Android Development Tools
(ADT) plugin. Other development
tools are available, including a
Native Development Kit for
applications or extensions in C or C
++, Google App Inventor , a visual
environment for novice
programmers, and various cross
platform mobile web applications
frameworks. In January 2014,
Google unveiled an Apache
Cordova–based framework for
porting Chrome HTML 5
applications to Android, wrapped in
a native application shell. [66]
Android has a growing selection of
third-party applications, which can
be acquired by users by
downloading and installing the
application's APK file, or by
downloading them using an
application store program that
allows users to install, update, and
remove applications from their
devices. Google Play Store is the
primary application store installed
on Android devices that comply with
Google's compatibility requirements
and license the Google Mobile
Services software. [3][67] Google
Play Store allows users to browse,
download and update applications
published by Google and third-party
developers; As of July 2013, there
are more than one million
applications available for Android in
Play Store. [68] As of May 2013, 48
billion applications have been
installed from Google Play Store
[69] and in July 2013, 50 billion
applications were installed. [70][71]
Some carriers offer direct carrier
billing for Google Play application
purchases, where the cost of the
application is added to the user's
monthly bill. [72]
Due to the open nature of Android, a
number of third-party application
marketplace also exist for Android,
either to provide a substitute for
devices that are not allowed to ship
with Google Play Store, provide
applications that cannot be offered
on Google Play Store due to policy
violations, or for other reasons.
Examples of these third-party
stores have included the Amazon
Appstore , GetJar , and SlideMe. F-
Droid , another alternative
marketplace, seeks to only provide
applications that are distributed
under free and open source
licenses. [3][73][74][75]
Memory management
Since Android devices are usually
battery-powered, Android is
designed to manage memory ( RAM)
to keep power consumption at a
minimum, in contrast to desktop
operating systems which generally
assume they are connected to
unlimited mains electricity. When
an Android application is no longer
in use, the system will
automatically suspend it in
memory; while the application is
still technically "open", suspended
applications consume no resources
(for example, battery power or
processing power) and sit idly in
the background until needed again.
This brings a dual benefit by
increasing the general
responsiveness of Android devices,
since applications do not need to be
closed and reopened from scratch
each time, and by ensuring that
background applications do not
consume power needlessly. [76][77]
Android manages the applications
stored in memory automatically:
when memory is low, the system
will begin killing applications and
processes that have been inactive
for a while, in reverse order since
they were last used (oldest first).
This process is designed to be
invisible to the user, so that users
do not need to manage memory or
the killing of applications
themselves.[78][79] However,
confusion over Android's memory
management resulted at some point
in time in third-party task killers
becoming popular on Google Play
store; these third-party task killers
are generally regarded as doing
more harm than good. [80]
Hardware
See also: Android hardware
requirements
The main hardware platform for
Android is the ARM architecture
(ARMv7 or later; Android 5.0 also
supports ARMv8-A ), with x86 and
MIPS architectures also officially
supported. Both 64-bit and 32-bit
variants of all three architectures
are supported since the release of
Android 5.0. [81] Since 2012,
Android devices with Intel
processors began to appear,
including phones [82] and tablets.
As of November 2013, Android 4.4
recommends at least 512 MB of
RAM, [83] while for "low RAM"
devices 340 MB is the required
minimum amount that does not
include memory dedicated to
various hardware components such
as the baseband processor. [84]
Android 4.4 requires a 32-bit
ARMv7 , MIPS or x86 architecture
processor (latter two through
unofficial ports), [8][85] together
with an OpenGL ES 2.0 compatible
graphics processing unit (GPU). [86]
Android supports OpenGL ES 1.1,
2.0, 3.0 and 3.1. Some applications
explicitly require a certain version
of the OpenGL ES, thus suitable GPU
hardware is required to run such
applications. [86]
Android devices incorporate many
optional hardware components,
including still or video cameras,
GPS, orientation sensors, dedicated
gaming controls, accelerometers,
gyroscopes, barometers,
magnetometers, proximity sensors,
pressure sensors, thermometers,
and touchscreens. Some hardware
components are not required, but
became standard in certain classes
of devices, such as smartphones,
and additional requirements apply if
they are present. Some other
hardware was initially required, but
those requirements have been
relaxed or eliminated altogether.
For example, as Android was
developed initially as a phone OS,
hardware such as microphones
were required, while over time the
phone function became optional. [71]
Android used to require an
autofocus camera, which was
relaxed to a fixed-focus camera[71]
if it is even present at all, since the
camera was dropped as a
requirement entirely when Android
started to be used on set-top boxes.
In addition to running on
smartphones and tablets, it is
possible to run Android natively on
regular PC hardware with a
keyboard and a mouse, [87][88][89]
with versions of Android, including
4.4, downloadable from the
Android-x86 project. [90] Using the
Android emulator which is part of
the Android SDK, or by using
BlueStacks or Andy, Android can
also run non-natively on x86. [91]
[92] Chinese companies are
building a PC and mobile operating
system, based on Android, to
"compete directly with Microsoft
Windows and Google Android". [93]
The Chinese Academy of
Engineering noted that "more than a
dozen" companies were
customising Android following a
Chinese ban on the use of Windows
8 on government PCs.[94][95][96]
Development
Android green figure, next to its
original packaging.
Android is developed in private by
Google until the latest changes and
updates are ready to be released, at
which point the source code is
made available publicly. [97] This
source code will only run without
modification on select devices,
usually the Nexus series of
devices. The source code is, in turn,
adapted by OEMs to run on their
hardware.[98] Android's source
code does not contain the often
proprietary device drivers that are
needed for certain hardware
components. [99]
The green Android logo was
designed for Google in 2007 by
graphic designer Irina Blok. The
design team was tasked with a
project to create a universally
identifiable icon with the specific
inclusion of a robot in the final
design. After numerous design
developments based on science-
fiction and space movies, the team
eventually sought inspiration from
the human symbol on restroom
doors and modified the figure into a
robot shape. As Android is open-
sourced, it was agreed that the logo
should be likewise, and since its
launch the green logo has been
reinterpreted into countless
variations on the original design.
[100]
Update schedule
See also: Android version history
Google provides major upgrades,
incremental in nature, to Android
every six to nine months, which
most devices are capable of
receiving over the air. [101] The
latest major release is Android 5.0
"Lollipop". [49]
Compared to its chief rival mobile
operating system, namely iOS ,
Android updates are typically slow
to reach actual devices. For devices
not under the Nexus brand, updates
often arrive months from the time
the given version is officially
released. [102] This is partly due to
the extensive variation in hardware
of Android devices, to which each
upgrade must be specifically
tailored, as the official Google
source code only runs on their
flagship Nexus devices. Porting
Android to specific hardware is a
time- and resource-consuming
process for device manufacturers,
who prioritize their newest devices
and often leave older ones behind.
[102] Hence, older smartphones are
frequently not updated if the
manufacturer decides it is not worth
their time, regardless of whether the
phone is capable of running the
update. This problem is
compounded when manufacturers
customize Android with their own
interface and apps, which must be
reapplied to each new release.
Additional delays can be introduced
by wireless carriers who, after
receiving updates from
manufacturers, further customize
and brand Android to their needs
and conduct extensive testing on
their networks before sending the
upgrade out to users.[102]
The lack of after-sale support from
manufacturers and carriers has
been widely criticized by consumer
groups and the technology media.
[103][104] Some commentators
have noted that the industry has a
financial incentive not to upgrade
their devices, as the lack of updates
for existing devices fuels the
purchase of newer ones, [105] an
attitude described as "insulting".
[104] The Guardian has complained
that the method of distribution for
updates is complicated only
because manufacturers and carriers
have designed it that way. [104] In
2011, Google partnered with a
number of industry players to
announce an "Android Update
Alliance", pledging to deliver timely
updates for every device for 18
months after its release;[106]
however, there has not been another
official word about that alliance.
[102][107]
In 2012, Google began decoupling
certain aspects of the operating
system (particularly core
applications) so they could be
updated through Google Play Store ,
independently of Android itself. One
of these components, Google Play
Services , is a closed-source
system-level process providing
APIs for Google services, installed
automatically on nearly all devices
running Android version 2.2 and
higher. With these changes, Google
can add new operating system
functionality through Play Services
and application updates without
having to distribute an upgrade to
the operating system itself. As a
result, Android 4.2 and 4.3
contained relatively fewer user-
facing changes, focusing more on
minor changes and platform
improvements. [3][108]
Linux kernel
Android consists of a kernel based
on the Linux kernel long-term
support (LTS) branch. As of January
2014, current Android versions are
built upon Linux kernel 3.4 or
newer,[109][110] but the specific
kernel version number depends on
the actual Android device and
chipset. [111][112][113] Android has
used various kernels since its first
2.6.25. [42]
Android's Linux kernel has further
architectural changes that are
implemented by Google outside the
typical Linux kernel development
cycle, such as the inclusion of
components like Binder, ashmem,
pmem, logger, wakelocks, and
different out-of-memory (OOM)
handling. [114][115][116] Certain
features that Google contributed
back to the Linux kernel, notably a
power management feature called
"wakelocks", were rejected by
mainline kernel developers partly
because they felt that Google did
not show any intent to maintain its
own code. [117][118][119] Google
announced in April 2010 that they
would hire two employees to work
with the Linux kernel community,
[120] but Greg Kroah-Hartman , the
current Linux kernel maintainer for
the stable branch, said in December
2010 that he was concerned that
Google was no longer trying to get
their code changes included in
mainstream Linux. [118] Some
Google Android developers hinted
that "the Android team was getting
fed up with the process," because
they were a small team and had
more urgent work to do on Android.
[121]
In August 2011, Linus Torvalds said
that "eventually Android and Linux
would come back to a common
kernel, but it will probably not be for
four to five years". [122] In
December 2011, Greg Kroah-
Hartman announced the start of
Android Mainlining Project, which
aims to put some Android drivers ,
patches and features back into the
Linux kernel, starting in Linux 3.3.
[123] Linux included the autosleep
and wakelocks capabilities in the
3.5 kernel, after many previous
attempts at merger. The interfaces
are the same but the upstream
Linux implementation allows for
two different suspend modes: to
memory (the traditional suspend
that Android uses), and to disk
(hibernate, as it is known on the
desktop). [124] Google maintains a
public code repository that contains
their experimental work to re-base
Android off the latest stable Linux
versions. [125][126]
The flash storage on Android
devices is split into several
partitions, such as /system for
the operating system itself, and /
data for user data and
application installations. [127] In
contrast to desktop Linux
distributions, Android device
owners are not given root access to
the operating system and sensitive
partitions such as /system are
read-only . However, root access
can be obtained by exploiting
security flaws in Android, which is
used frequently by the open-source
community to enhance the
capabilities of their devices, [128]
but also by malicious parties to
install viruses and malware .[129]
Android is a Linux distribution
according to the Linux Foundation ,
[130] Google's open-source chief
Chris DiBona ,[131] and several
journalists. [132][133] Others, such
as Google engineer Patrick Brady,
say that Android is not Linux in the
traditional Unix-like Linux
distribution sense; Android does not
include the GNU C Library and
some of other components typically
found in Linux distributions. [134]
Software stack
Android's architecture diagram
On top of the Linux kernel, there are
the middleware, libraries and APIs
written in C , and application
software running on an application
framework which includes Java-
compatible libraries based on
Apache Harmony . Development of
the Linux kernel continues
independently of other Android's
source code bases. Android uses
the Dalvik virtual machine with
just-in-time compilation (JIT) to run
Dalvik "dex-code" (Dalvik
Executable), which is usually
translated from the Java bytecode .
[135][136] Android 4.4 also
supports new experimental runtime,
Android Runtime (ART), which is not
enabled by default. [137]
Android's standard C library , Bionic ,
was developed by Google
specifically for Android, as a
derivation of the BSD's standard C
library code. Bionic itself has been
designed with several major
features specific to the Linux
kernel. The main benefits of using
Bionic instead of the GNU C Library
(glibc) or uClibc are its different
licensing model, smaller runtime
footprint, and optimization for low-
frequency CPUs. [136]
Aiming for a more suitable
licensing model, toward the end of
2012 Google switched the Bluetooth
stack in Android from the GPL-
licensed BlueZ to the Apache-
licensed BlueDroid.[138]
Android does not have a native X
Window System by default, nor does
it support the full set of standard
GNU libraries. This made it difficult
to port existing Linux applications
or libraries to Android, [134] until
version r5 of the Android Native
Development Kit brought support for
applications written completely in C
or C++ . [139] Libraries written in C
may also be used in Java
application by injection of a small
Java shim and usage of the JNI .
[140]


170px-Android 4.4.2
200px-Android L Develpment Preview
350px-Android-System-Architecture.svg 1
220px-Android green figure2C next to its original packaging